//
//  UICollectionViewDelegateFlowLayout.swift
//  Documentation
//
//  Created by Toj on 11/18/22.
//

public protocol UICollectionViewDelegateFlowLayout : UICollectionViewDelegate {
    
    // 设置每个item的大小
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
    
    // 设置每个section 内嵌值
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets
    
    // 设置行与行之间的间距最小距离
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat
    
    // 设置列与列之间的间距最小距离
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat
    
    // section header 大小
    @available(iOS 6.0, *)
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize
    
    // section footer 大小
    @available(iOS 6.0, *)
    optional func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForFooterInSection section: Int) -> CGSize
}
